#include<iostream>
using namespace std;

/*
给你一个按非递减顺序排序的整数数组nums，返回每个数字的平方组成的新数组，要求也按非递减顺序排序。
输入：nums=[-7,-3,2,3,11]；输出：[4,9,9,49,121]
*/
void sortSquares(int*array,int len){
	int*result=new int[len];
	int left=0;
	int right=len-1;
	int i=len-1;
	while(i>=0){
		if(array[left]*array[left]<array[right]*array[right]){
			result[i]=array[right]*array[right];
			right--;
		}
		else{
			result[i]=array[left]*array[left];
			left++;
		}
		i--;
	}

	for(int i=0;i<len;i++){
		cout<<result[i]<<" ";
	}
	cout<<endl;
	delete[]result;
}

int main(){
    //输入：nums=[-7,-3,2,3,11]；输出：[4,9,9,49,121]
	int array[5]={-7,-3,2,3,11};
    sortSquares(array,5);
    return 0;
}